home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / UDDIWEB.MSI / statistics.aspx < prev    next >
Encoding:
Text File  |  2003-02-21  |  15.8 KB  |  437 lines

  1. <!-- ############################################################################ -->
  2. <!-- ## UDDI Services                                                          ## -->
  3. <!-- ## Copyright (c) Microsoft Corporation.  All rights reserved.             ## -->
  4. <!-- ############################################################################ -->
  5.  
  6. <%@ Page Language='C#' Inherits='UDDI.Web.UddiPage' %>
  7. <%@ Register Tagprefix='uddi' Tagname='Header' Src='../controls/header.ascx' %>
  8. <%@ Register Tagprefix='uddi' Tagname='Footer' Src='../controls/footer.ascx' %>
  9. <%@ Register Tagprefix='uddi' Tagname='BreadCrumb' Src='../controls/breadcrumb.ascx' %>
  10. <%@ Register Tagprefix='uddi' Tagname='BusyWait' Src='../controls/busywait.ascx' %>
  11. <%@ Register TagPrefix='uddi' Namespace='UDDI.Web' Assembly='uddi.web' %>
  12. <%@ Import Namespace='System.Data' %>
  13. <%@ Import Namespace='System.Data.SqlClient' %>
  14. <%@ Import Namespace='System.IO' %>
  15. <%@ Import Namespace='System.Text' %>
  16. <%@ Import Namespace='UDDI' %>
  17. <%@ Import Namespace='UDDI.Web' %>
  18.  
  19. <script language='C#' runat='server'>
  20.     protected bool frames;
  21.     
  22.     private string mode;
  23.     private DateTime time;
  24.     
  25.     protected void Page_Init( object sender, EventArgs e )
  26.     {
  27.         frames = ( "true" == Request[ "frames" ] );        
  28.         
  29.         mode = (null==Request.Form[ "mode" ]) ? Request.QueryString[ "mode" ] : Request.Form[ "mode" ];
  30.         
  31.         
  32.         breadcrumb.AddBlurb( Localization.GetString( "HEADING_STATISTICS" ), null, null, null, false );
  33.         breadcrumb.AddBlurb( Localization.GetString( "HEADING_ADMINISTER" ), "../admin/admin.aspx?refreshExplorer=&frames=" + ( frames ? "true" : "false" ), null, null, true );
  34.                 
  35.         entityCountStatsList.Columns[ 1 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_ENTITYTYPE" );
  36.         entityCountStatsList.Columns[ 2 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_COUNT" );
  37.         
  38.         pubStatsList.Columns[ 1 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_STATISTIC" );
  39.         pubStatsList.Columns[ 2 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_VALUE" );
  40.  
  41.         topPubsList.Columns[ 0 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_ENTITYTYPE" );
  42.         topPubsList.Columns[ 1 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_PUBNAME" );
  43.         topPubsList.Columns[ 2 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_COUNT" );
  44.  
  45.         taxStatsList.Columns[ 0 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_TAXANDVAL" );
  46.         taxStatsList.Columns[ 1 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_STATISTIC" );
  47.         taxStatsList.Columns[ 2 ].HeaderText = Localization.GetString( "HEADING_STATISTICS_VALUE" );
  48.     }
  49.     
  50.     protected void Page_Load( object sender, EventArgs e )
  51.     {
  52.         if( !Page.IsPostBack )
  53.         {
  54.             //
  55.             //Set the selected tab.
  56.             //
  57.             if( null!=Request[ "tab" ] )
  58.                 tabs.SelectedIndex = Convert.ToInt32( Request[ "tab" ] );
  59.         }
  60.         
  61.         //
  62.         //set the current time for the report
  63.         //    
  64.         time = DateTime.Now;
  65.     
  66.         //
  67.         // Make sure the 'Statistics' node in the tree is selected
  68.         //
  69.         if( null!=Request[ "refreshExplorer" ] && frames )
  70.         {
  71.             Response.Write( 
  72.                 ClientScripts.ReloadExplorerPane( "_statistics" )
  73.             );
  74.         }        
  75.     }
  76.         
  77.                 
  78.     
  79.     
  80.     protected void Page_PreRender( object sender, EventArgs e )
  81.     {
  82.         switch( tabs.SelectedIndex )
  83.         {
  84.             case 0:
  85.                 PopulateEntityStats();
  86.                 break;
  87.             case 1:
  88.                 PopulatePublisherStats();
  89.                 break;
  90.             case 2:
  91.                 PopulateTaxonomyStats();
  92.                 break;
  93.         
  94.         }
  95.         
  96.         LastChange.Text = time.ToString();
  97.     }
  98.     protected void Recalculate_OnCommand( object sender, CommandEventArgs e )
  99.     {
  100.         switch( e.CommandName.ToLower() )
  101.         {
  102.             case "refresh":
  103.                 Statistics.RecalculateStatistics();    
  104.                 mode = "refresh";
  105.                 break;
  106.             
  107.         }
  108.     }    
  109.     protected void PopulateTaxonomyStats()
  110.     {
  111.         if( mode!="refresh" && ReportStatus.Available== Statistics.GetReportStatus( ReportType.GetTaxonomyStats ) )
  112.         {
  113.             TaxonomyStatsBusyPanel.Visible = false;
  114.             TaxonomyStatsAvailablePanel.Visible = true;
  115.             
  116.             taxStatsList.DataSource = Statistics.GetStatistics( ReportType.GetTaxonomyStats, ref time );
  117.             taxStatsList.DataBind();
  118.             
  119.             RecalcButton.Enabled = true;
  120.             
  121.         }
  122.         else
  123.         {
  124.         
  125.             TaxonomyStatsBusyPanel.Visible = true;
  126.             TaxonomyStatsAvailablePanel.Visible = false;
  127.             
  128.             RecalcButton.Enabled = false;
  129.         }
  130.     }    
  131.  
  132.     protected void PopulatePublisherStats( )
  133.     {
  134.     
  135.         if( mode!="refresh" && (  ReportStatus.Available==Statistics.GetReportStatus( ReportType.GetPublisherStats )  ||
  136.             ReportStatus.Available== Statistics.GetReportStatus( ReportType.GetTopPublishers ) ) )
  137.         {
  138.             PublisherStatsAvailablePanel.Visible = true;
  139.             PublisherStatsBusyPanel.Visible = false;
  140.             
  141.             topPubsList.DataSource = Statistics.GetStatistics( ReportType.GetTopPublishers, ref time );
  142.             topPubsList.DataBind();
  143.             
  144.             pubStatsList.DataSource = Statistics.GetStatistics( ReportType.GetPublisherStats, ref time );
  145.             pubStatsList.DataBind();
  146.             
  147.             RecalcButton.Enabled = true;
  148.         }
  149.         else
  150.         {
  151.             PublisherStatsBusyPanel.Visible = true;
  152.             PublisherStatsAvailablePanel.Visible = false;
  153.             
  154.             RecalcButton.Enabled = false;
  155.         }
  156.         
  157.     }
  158.     
  159.     protected void PopulateEntityStats( )
  160.     {
  161.         
  162.         if(  mode!="refresh" && ReportStatus.Available==Statistics.GetReportStatus( ReportType.GetEntityCounts ) )
  163.         {
  164.             EntityStatsAvailablePanel.Visible = true;
  165.             
  166.             EntityStatsBusyPanel.Visible = false;                
  167.             
  168.             entityCountStatsList.DataSource = Statistics.GetStatistics( ReportType.GetEntityCounts, ref time );
  169.             entityCountStatsList.DataBind();
  170.             
  171.             RecalcButton.Enabled = true;
  172.         }
  173.         else
  174.         {
  175.             EntityStatsBusyPanel.Visible = true;
  176.             EntityStatsAvailablePanel.Visible = false;
  177.             
  178.             RecalcButton.Enabled = false;
  179.         }
  180.  
  181.     }
  182.     
  183. </script>
  184. <uddi:StyleSheetControl
  185.     Runat='server'
  186.     Default='../stylesheets/uddi.css' 
  187.     Downlevel='../stylesheets/uddidl.css' 
  188.     />
  189. <uddi:PageStyleControl 
  190.     Runat='server'
  191.     OnClientContextMenu='Document_OnContextMenu()'
  192.     Title="TITLE"
  193.     AltTitle="TITLE_ALT"
  194.     />
  195. <uddi:ClientScriptRegister
  196.     Runat='server'
  197.     Source='../client.js'
  198.     Language='javascript'
  199.     />
  200. <uddi:SecurityControl 
  201.     CoordinatorRequired='true'
  202.     Runat='server' 
  203.     />
  204. <form enctype='multipart/form-data' Runat='server'>
  205.  
  206. <table width='100%' border='0' height='100%' cellpadding='0' cellspacing='0'>
  207.         <asp:PlaceHolder
  208.             Id='HeaderBag'
  209.             Runat='server'
  210.             >
  211.             <tr height='95'>
  212.                 <td>
  213.                     <!-- Header Control Here -->
  214.                     <uddi:Header
  215.                         Runat='server' 
  216.                         />
  217.                 </td>
  218.             </tr>
  219.         </asp:PlaceHolder>
  220.         <tr height='100%' valign='top'>
  221.             <td>
  222.                 <uddi:BreadCrumb 
  223.                     Id='breadcrumb' 
  224.                     Runat='server' 
  225.                     />
  226.                 <table cellpadding='10' cellspacing='0' border='0' width='100%'>
  227.                     <tr>
  228.                         <td colspan='2'>
  229.                             <uddi:UddiLabel Text='[[HELP_BLOCK_ADMIN]]' CssClass='helpBlock' Runat='server' /><br>
  230.                             <br>
  231.                             <uddi:TabControl ID='tabs'  Runat='server'>                
  232.                                 <uddi:TabPage Name='TAB_STATISTICS_ENTITYCOUNTS' Runat='server'>
  233.                                     <uddi:ContextualHelpControl 
  234.                                             Runat='Server'
  235.                                             Text='[[HELP_BLOCK_ADMIN_STATISTICS_ENTITIES]]'
  236.                                             HelpFile='coordinate.context.statisticsentity'
  237.                                             CssClass='tabHelpBlock'
  238.                                             />
  239.                                     
  240.                                     <br>
  241.                                     <asp:Panel id='EntityStatsAvailablePanel' runat='server' Visible='true' >
  242.                                     
  243.                                         <asp:DataGrid 
  244.                                                 CellPadding='4' 
  245.                                                 CellSpacing='0' 
  246.                                                 ID='entityCountStatsList' 
  247.                                                 GridLines='None' 
  248.                                                 AutoGenerateColumns='false' 
  249.                                                 HeaderStyle-CssClass='tableHeader' 
  250.                                                 ItemStyle-CssClass='tableItem' 
  251.                                                 Runat='server'>
  252.                                             
  253.                                             <Columns>
  254.                                                 <asp:BoundColumn DataField='section' Visible='false' />
  255.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  256.                                                     <ItemTemplate>
  257.                                                         <asp:Label Text='<%# Localization.GetString( HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "label" ] ) ) %>' CssClass='rowItem' Runat='Server' />
  258.                                                     </ItemTemplate>
  259.                                                 </asp:TemplateColumn>
  260.                                                 <asp:TemplateColumn HeaderStyle-Width='75' HeaderText='value' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  261.                                                     <ItemTemplate>
  262.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "value" ] ) %>' CssClass='rowItem' Runat='Server' />
  263.                                                     </ItemTemplate>
  264.                                                 </asp:TemplateColumn>
  265.                                             </Columns>
  266.                                         </asp:DataGrid>
  267.                                     </asp:Panel>
  268.                                     <asp:Panel id='EntityStatsBusyPanel' runat='server' Visible='false' >
  269.                                             <uddi:BusyWait TabID='0' Runat='server' />
  270.                                     </asp:Panel>
  271.                                 
  272.                                 </uddi:TabPage>
  273.                                 
  274.                                 <uddi:TabPage Name='TAB_STATISTICS_PUBLISHERSTATS' Runat='server'>
  275.                                     <uddi:ContextualHelpControl 
  276.                                             Runat='Server'
  277.                                             Text='[[HELP_BLOCK_ADMIN_STATISTICS_PUBLISHERS]]'
  278.                                             HelpFile='coordinate.context.statisticspublisher'
  279.                                             CssClass='tabHelpBlock'
  280.                                             />
  281.                                     
  282.                                     <br>
  283.                                     <asp:Panel id='PublisherStatsAvailablePanel' runat='server' Visible='true' >
  284.                                         <asp:DataGrid 
  285.                                                 CellPadding='4' 
  286.                                                 CellSpacing='0'
  287.                                                 ID='pubStatsList' 
  288.                                                 GridLines='None' 
  289.                                                 AutoGenerateColumns='false' 
  290.                                                 HeaderStyle-CssClass='tableHeader' 
  291.                                                 ItemStyle-CssClass='tableItem' 
  292.                                                 Runat='server'>
  293.                                             
  294.                                             <Columns>
  295.                                                 <asp:BoundColumn DataField='section' Visible='false' />
  296.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  297.                                                     <ItemTemplate>
  298.                                                         <asp:Label Text='<%# Localization.GetString( HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "label" ] ) ) %>' CssClass='rowItem' Runat='Server' />
  299.                                                     </ItemTemplate>
  300.                                                 </asp:TemplateColumn>
  301.                                                 <asp:TemplateColumn HeaderStyle-Width='75' HeaderText='value' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  302.                                                     <ItemTemplate>
  303.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "value" ] ) %>' CssClass='rowItem' Runat='Server' />
  304.                                                     </ItemTemplate>
  305.                                                 </asp:TemplateColumn>
  306.                                             </Columns>
  307.                                         </asp:DataGrid>
  308.                                     
  309.                                         <br>
  310.                                         <br>
  311.                                         <uddi:UddiLabel Text='[[TEXT_STATISTICS_TOPPUBS]]' Runat='Server' /><br>
  312.                                         <br>
  313.                                         <asp:DataGrid 
  314.                                                 CellPadding='4' 
  315.                                                 CellSpacing='0'
  316.                                                 ID='topPubsList' 
  317.                                                 GridLines='None' 
  318.                                                 AutoGenerateColumns='false' 
  319.                                                 HeaderStyle-CssClass='tableHeader' 
  320.                                                 ItemStyle-CssClass='tableItem' 
  321.                                                 Runat='server'>
  322.                                             
  323.                                             <Columns>
  324.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  325.                                                     <ItemTemplate>
  326.                                                         <asp:Label Text='<%# Localization.GetString( HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "section" ] ) ) %>' CssClass='rowItem' Runat='Server' />
  327.                                                     </ItemTemplate>
  328.                                                 </asp:TemplateColumn>
  329.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  330.                                                     <ItemTemplate>
  331.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "label" ] ) %>' CssClass='rowItem' Runat='Server' />
  332.                                                     </ItemTemplate>
  333.                                                 </asp:TemplateColumn>
  334.                                                 <asp:TemplateColumn HeaderStyle-Width='75' HeaderText='value' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  335.                                                     <ItemTemplate>
  336.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "value" ] ) %>' CssClass='rowItem' Runat='Server' />
  337.                                                     </ItemTemplate>
  338.                                                 </asp:TemplateColumn>
  339.                                             </Columns>
  340.                                         </asp:DataGrid>
  341.                                     </asp:Panel>
  342.                                     <asp:Panel id='PublisherStatsBusyPanel' runat='server' Visible='false' >
  343.                                 
  344.                                                         <uddi:BusyWait TabID='1'  Runat='server' />
  345.                                     </asp:Panel>
  346.                                 
  347.                                 </uddi:TabPage>
  348.                                 
  349.                                 <uddi:TabPage Name='TAB_STATISTICS_TAXSTATS' Runat='server'>
  350.                                     <uddi:ContextualHelpControl 
  351.                                             Runat='Server'
  352.                                             Text='[[HELP_BLOCK_ADMIN_STATISTICS_CATEGORIES]]'
  353.                                             HelpFile='coordinate.context.statisticscategorization'
  354.                                             CssClass='tabHelpBlock'
  355.                                             />
  356.                                     
  357.                                     
  358.                                     <br>
  359.                                     <asp:Panel id='TaxonomyStatsAvailablePanel' runat='server' Visible='true' >
  360.                                         <asp:DataGrid 
  361.                                                 CellPadding='4' 
  362.                                                 CellSpacing='0'
  363.                                                 ID='taxStatsList' 
  364.                                                 GridLines='None' 
  365.                                                 AutoGenerateColumns='false' 
  366.                                                 HeaderStyle-CssClass='tableHeader' 
  367.                                                 ItemStyle-CssClass='tableItem' 
  368.                                                 Runat='server'>
  369.                                             
  370.                                             <Columns>
  371.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  372.                                                     <ItemTemplate>
  373.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "section" ] ) %>' CssClass='rowItem' Runat='Server' />
  374.                                                     </ItemTemplate>
  375.                                                 </asp:TemplateColumn>
  376.                                                 <asp:TemplateColumn HeaderStyle-Width='400' HeaderText='label' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  377.                                                     <ItemTemplate>
  378.                                                         <asp:Label Text='<%# Localization.GetString( HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "label" ] ) ) %>' CssClass='rowItem' Runat='Server' />
  379.                                                     </ItemTemplate>
  380.                                                 </asp:TemplateColumn>
  381.                                                 <asp:TemplateColumn HeaderStyle-Width='75' HeaderText='value' HeaderStyle-CssClass='tableHeader' ItemStyle-CssClass='tableItem' FooterStyle-CssClass='tableItem'>
  382.                                                     <ItemTemplate>
  383.                                                         <asp:Label Text='<%# HttpUtility.HtmlEncode( (string)((DataRowView)Container.DataItem)[ "value" ] ) %>' CssClass='rowItem' Runat='Server' />
  384.                                                     </ItemTemplate>
  385.                                                 </asp:TemplateColumn>
  386.                                             </Columns>
  387.                                         </asp:DataGrid>
  388.                                     </asp:Panel>
  389.                                     <asp:Panel id='TaxonomyStatsBusyPanel' runat='server' Visible='false' >
  390.                                                 <uddi:BusyWait TabID='2' Runat='server' />
  391.                                                 
  392.                                     </asp:Panel>
  393.                                 
  394.                                 </uddi:TabPage>                
  395.                             </uddi:TabControl>
  396.                             
  397.                             
  398.                         </td>
  399.                     </tr>
  400.                     <tr>
  401.                         <td valign='top'>
  402.                             <uddi:UddiLabel CssClass='HelpBlock' Text='[[HEADING_STATISTICS_TIMESTAMP]]' Runat='Server' />
  403.                             <uddi:UddiLabel CssClass='HelpBlock' id='LastChange' Runat='server'/>
  404.                         </td>
  405.                         <td align='right' valign='top'>                            
  406.                             <uddi:UddiButton 
  407.                                 id='RecalcButton' 
  408.                                 Text='[[BUTTON_RECALCULATE]]' 
  409.                                 OnCommand='Recalculate_OnCommand'
  410.                                 CommandName='refresh' 
  411.                                 Width='125px' 
  412.                                 CssClass='button' 
  413.                                 Runat='server' 
  414.                                 enabled='false'/>
  415.                         
  416.                             
  417.                         </td>
  418.                     </tr>
  419.                 </table>
  420.             </td>
  421.         </tr>
  422.         <asp:PlaceHolder 
  423.             Id='FooterBag'
  424.             Runat='server'
  425.             >
  426.             <tr height='95'>
  427.                 <td>
  428.                     <!-- Footer Control Here -->
  429.                     <uddi:Footer
  430.                         Runat='server' 
  431.                         />
  432.                 </td>
  433.             </tr>
  434.         </asp:PlaceHolder>
  435.     </table> 
  436. </form>
  437.